package sjtu.rfid.rri.services.ale.trigger;

import sjtu.rfid.rri.services.ale.cyclecontrol.CycleContext;
import sjtu.rfid.rri.services.ale.reading.ECTrigger;

public interface TriggerFactory {

	/**
	 * A Factory interface to create an ECTrigger
	 * 
	 * @param ecTrigger
	 *            the ECTrigger type
	 * @param cycleContext
	 *            the CycleContext associated with the Trigger
	 * @param startTrigger
	 *            indicate whether this is a start trigger or stop trigger
	 * @return an ECTrigger
	 * @throws TriggerNotFoundException
	 */
	Trigger createECTrigger(ECTrigger ecTrigger, CycleContext cycleContext,
			boolean startTrigger) throws TriggerNotFoundException;

}
